1. Field of the Invention
The present invention relates to a method of event triggering in a computer system and the related computer system, and more particularly, to a method of proactively event triggering in a computer system and the related computer system.
2. Description of the Prior Art
The system control interrupt (SCI) provides system management and customized functions for operating systems supporting advanced configuration and power interface (ACPI). The hardware (e.g. an embedded controller) notifies the basic input output system (BIOS) that an interrupt event occurs by utilizing the SCI. After the SCI signal is generated, the BIOS may process the related events. For example, a keyboard controller (KBC) can communicate with an application by utilizing the SCI. The application then utilizes the management techniques of the windows management instrumentation (WMI) to give the KBC corresponding commands through programming and script language such as ACPI source language (ASL). In other words, the application passively communicates with the BIOS after being notified.
The system management interrupt (SMI) is generated when an equipment or software is calling system management functions. The SMI forces the central processing unit (CPU) to enter a system management mode (SMM). An application can interrupt the BIOS directly by utilizing the SMI, where the BIOS performs corresponding commands to a KBC. For example, the triggering of the SCI may force a CPU to enter the SMM, and the BIOS may acknowledge which program needs to be executed after the CPU enters the SMM. When all of the processes are completely performed, a command “RSM” may indicate the CPU to leave the SMM or the CPU may leave by resetting.
However, sometimes the chipset controlling module of a computer system may not support the interrupting function of the SCI/SMI. For example, Intel® may remove the SCI/SMI function of the new generation Clover Trail chipset for the operating system Microsoft Windows 8 . However, there are still many applications required to utilize SCI/SMI for performing commands or filling values on the KBC presently. As a result, functions of many applications under the conventional platforms will be affected or will not work. Besides, for the SCI, the application plays a passive role, which waits until the hardware gives them notifications and then performs the corresponding actions. The application can not trigger the communication with the hardware proactively. On the other hand, the SMI may force the CPU to enter the SMM, which causes the user to feel lagging when operating the system.